package fachklassen;

import java.util.ArrayList;

import helper.BLError;
import helper.BLWarning;
import database.DatabaseManager;

/**
 * Fachklasse mit Gettern und Settern
 *
 * @author	Michael Wolf
 * @author	Tanja Goletz
 * @version	1.0
 */
public class Ausbilder {
	int ausbilderID;
	String vorname;
	String nachname;
	String anrede;
	String email;
	String telefon;
	String mobil;
	
	int betriebsID;
	Betrieb betrieb = null;
	ArrayList<Azubi> azubis = null;
	
	public int getAusbilderID() {
		return ausbilderID;
	}
	public void setAusbilderID(int ausbilderID) {
		this.ausbilderID = ausbilderID;
	}
	public String getVorname() {
		return vorname;
	}
	public void setVorname(String vorname) {
		this.vorname = vorname;
	}
	public String getNachname() {
		return nachname;
	}
	public void setNachname(String nachname) {
		this.nachname = nachname;
	}
	public String getAnrede() {
		return anrede;
	}
	public void setAnrede(String anrede) {
		this.anrede = anrede;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	public String getTelefon() {
		return telefon;
	}
	public void setTelefon(String telefon) {
		this.telefon = telefon;
	}
	public String getMobil() {
		return mobil;
	}
	public void setMobil(String mobil) {
		this.mobil = mobil;
	}
	public Betrieb getBetrieb() throws BLError, BLWarning {
		if (betrieb == null) {
			ArrayList<Object> elements = DatabaseManager.getInstance().getByAttribute(Betrieb.class, "betriebsID", betriebsID);
			if (elements.size() == 0) betrieb = null;
			else betrieb = (Betrieb)elements.get(0);
		}
		
		return betrieb;
	}
	public void setBetrieb(Betrieb betrieb) {
		this.betrieb = betrieb;
		this.betriebsID = betrieb.getBetriebsID();
	}
	
	public int getBetriebsID() {
		return betriebsID;
	}
	public void setBetriebsID(int betriebsID) {
		this.betriebsID = betriebsID;
		this.betrieb = null;
	}
	public ArrayList<Azubi> getAzubis() throws BLError, BLWarning {
		if (azubis == null) {
			ArrayList<Object> elements = DatabaseManager.getInstance().getByAttribute(Azubi.class, "ausbilderID", ausbilderID);
			azubis = new ArrayList<Azubi>();
			for (Object element : elements) {
				azubis.add((Azubi)element);
			}
		}
		return azubis;
	}
	public String toString() {
		return this.vorname+" "+this.nachname;
	}
}
